#define _CRT_SECURE_NO_WARNINGS 1

//#include <iostream>
//using namespace std;
//
//int main() {
//	int t = 0;
//	cin >> t;
//	while (t--) {
//		int n, k;
//		cin >> n >> k;
//		if ((n % 2 != 0 && k % 2 == 0) || n < k) {
//			cout << "NO" << endl;
//		}
//		else {
//			if ((n - k) % 2 != 0) {
//				if (n >= 2 * k && (n - 2*k) % 2 == 0) {
//					cout << "YES" << endl;
//					for (int i = 0; i < k - 1; i++) {
//						cout << 2 << " ";
//					}
//					cout << 2 + (n - 2 * k) << endl;
//				}
//				else {
//					cout << "NO" << endl;
//				}
//			}
//			else {
//				cout << "YES" << endl;
//				for (int i = 0; i < k - 1; i++) {
//					cout << 1 << " ";
//				}
//				cout << 1 + (n - k) << endl;
//			}
//		}
//		
//	}
//	return 0;
//}